package com.seleniti.enpareja.web.desktop.client.ui.cell;

import com.google.gwt.safehtml.client.SafeHtmlTemplates;
import com.google.gwt.safehtml.shared.SafeHtml;
import com.google.gwt.safehtml.shared.SafeUri;

public interface EnParejaTemplate extends SafeHtmlTemplates {
	@Template("<button class='{0}'>{1}</button>")
	SafeHtml listElement(String className, String text);

	@Template("<button class='{0}'>{1}</button>")
	SafeHtml listElement(String className, SafeHtml content);

	@Template("<button class='{0}'>{1}</button>{2}")
	SafeHtml listElementExt(String className, String text, SafeHtml ext);

	@Template("<div class='{0}'>{1}</div>")
	SafeHtml div(String className, SafeHtml content);

	@Template("<div class='{0}'>{1}</div>")
	SafeHtml div(String className, String content);

	@Template("<select class='{0}'>{1}</select>")
	SafeHtml select(String className, SafeHtml options);

	@Template("<option value='{0}'>{1}</option>")
	SafeHtml option(String value, String text);

	@Template("<option value='{0}' selected>{1}</option>")
	SafeHtml optionSelected(String value, String text);

	@Template("<div class='{1}'><span>{2}</span></div><img src='{0}' class='{1}'/>")
	SafeHtml divImg(SafeUri img, String className, SafeHtml divContent);

	@Template("<div class='{1}'><span>{2}</span></div><button class='{1}'><img src='{0}' class='{1}'/></button>")
	SafeHtml divImgButton(SafeUri img, String className, SafeHtml divContent);

	@Template("<img src='{0}'/>")
	SafeHtml img(SafeUri img);

	@Template("<img src='{0}' class='{1}'/><div class='{1}'><span>{2}</span></div>")
	SafeHtml imgDiv(SafeUri img, String className, SafeHtml divContent);

	@Template("<table class='{1}'><tr><td><img src='{0}' class='{1}'/></td><td class='{1}'><span>{2}</span></td></tr></table>")
	SafeHtml hImgDiv(SafeUri img, String className, SafeHtml divContent);

	@Template("<table class='{1}'><tr><td class='{1}'><span>{2}</span></td><td><img src='{0}' class='{1}'/></td></tr></table>")
	SafeHtml hDivImg(SafeUri img, String className, SafeHtml divContent);

	@Template("<table class='{2}'><tr><td class='{4}'><img src='{0}' /></td><td class='{3}'><span>{1}</span></td></tr></table>")
	SafeHtml hImgDiv(SafeUri img, SafeHtml divContent, String containerClassName, String contentClassName,
			String imgClassName);

	@Template("<table class='{2}'><tr><td class='{3}'><span>{1}</span></td><td class='{4}'><img src='{0}' /></td></tr></table>")
	SafeHtml hDivImg(SafeUri img, SafeHtml divContent, String containerClassName, String contentClassName,
			String imgClassName);

	@Template("<h4 class='{0}'>{1}</h4>")
	SafeHtml caption(String className, SafeHtml captionContent);

	@Template("<span class='{0}'>{1}</span>")
	SafeHtml span(String className, String text);

	@Template("<span class='{0}'>{1}</span>")
	SafeHtml span(String className, SafeHtml html);

	@Template("<table class='{0}'><tr><td class='{1}'>{2}</td><td class='{3}'>{4}</td></tr></table>")
	SafeHtml table2Colums(String className, String leftColClassName, SafeHtml leftColContent, String rightColClassName,
			SafeHtml rightColContent);

	@Template("<input class='{0}' type='number' min='{1}' max='{2}' step='{3}' placeholder='{4}'/ value='{5}'>")
	SafeHtml inputNumber(String className, String min, String max, String step, String placeholder, String value);

	@Template("<i>{0}</i>")
	SafeHtml i(String text);
}